package com.priox.sigar.domain.model;

import com.googlecode.genericdao.dao.jpa.GenericDAO;
import com.priox.sigar.client.dto.ClienteDTO;
import com.priox.sigar.client.dto.ClienteSociedadDTO;
import com.priox.sigar.client.dto.SociedadDTO;
import com.priox.sigar.client.flt.ClienteFlt;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: Johann
 * Date: 28/08/13
 * Time: 11:13 PM
 * To change this template use File | Settings | File Templates.
 */
public interface ClienteRepository extends GenericDAO<Cliente, String> {

    public List<Cliente> findByIds(List<Long> ids);

    List<Cliente> findByNameList(String name);

    List<ClienteDTO> findByFilter(ClienteFlt filter);

    public List<ClienteSociedadDTO> obtenerClienteSociedadList(String clienteId);

    void saveCadena(Cliente cadena);

    Cliente findBy(String code);

    List<Cliente> findByRUC(String ruc);

    void executeSP();

    void saveClienteSociedad(Long clienteId, List<SociedadDTO> sociedades);

    void delete(Long id);

    void persistSociedades(ClienteSociedad clienteSociedad);
}
